The wireless networks are an important medium for connecting to Internet. The wireless network is more prone to tapping and theft in comparison with the wired network. Between an access point (AP) and a wireless network station, the use of a security key for authentication and encryption is an important issue for wireless networks. If the AP and the wireless network station do not save the security key in advance, the key will cause the execution of a handoff process when the wireless network station is connected to an AP.
Because the handoff process takes much time, the execution of the handoff process may interrupt the real-time application, such as voice over IP (VoIP). IEEE802.11r protocol defines a three-level key architecture to accelerate the execution of the handoff process and generate a security key.
FIG. 1 shows a schematic view of an exemplary three-level key architecture of IEEE802.11r protocol. Referring to FIG. 1, the first level key is Pairwise Master Key R0, or PMK-R0. PMK-R0 is generated by the first level Master Session Key (MSK) or Authentication, Authorization and Accounting (AAA)-key, and is saved at a wireless network station 101 and a R0 key holder (R0KH). MSK is generated and separately by wireless network station 101 executing the handoff process and by AAA server 103 executing IEEE802.1X authentication. R0KH plays the role of an AAA client to receive and store the MSK from AAA server 103.
The second level key PMK-R1 is stored at wireless network station 101 and a R1 key holder (R1KH). PMK-R1 is generated by PMK-R0. PMK-R1 may be used to generate the third level Pairwise Transient Key (PTK). The PTK is the key for message encryption and decryption between wireless network station 101 and the APs inside the third level.
The aforementioned IEEE802.11r three-level key architecture defines the mobility domain (MD) architecture. As shown in FIG. 1, an MD includes a plurality of R0KHs at first level 131. Each R0KH has connections to a plurality of R0KHs, for R1 from all the R0KHs in the MD, for example, R1KH1 and R1KH2 may obtain PMK-R1 directly from R0KH1, or indirectly from R0KH2. Second level 132 is all the R1KHs. Third level 133 is all the APs of an MD in the following description.
Based on the MD architecture defined in IEEE802.11r protocol specifications, the movement of the wireless network station may be divided into intra-MD movement and Inter-MD movement. The intra-MD movement may be further divided into intra-R1KH movement and inter-R1KH movement. For example, wireless network station 101 switching from AP0 to AP1 is an intra-R1KH movement, and switching from AP1 to AP2 or AP3 is an inter-R1KH movement. These two examples are both intra-MD movements within domain 110. On the other hand, a switching from AP3 in MD 110 to AP4 in MD 120 is an inter-MD movement.
When moving in MD, a wireless network station needs to execute a fast basic service set (Fast BSS) handoff process. For the inter-MD movement, the wireless network station needs to execute an initial MD association handoff process. Through the MD Identity (MDID) embedded in the periodical broadcast of probe and beacon messages by the AP, it is possible to distinguish the inter-MD movement from the intra-MD movement.
The current MDID can be assigned by each vendor; however, there is no guarantee that the MDID assigned by different vendors will be unique. Therefore, when a wireless network station executes an inter-MD movement, the inter-MD movement may be mistakenly identified as an intra-MD movement because of the same MDID, and then the Fast BSS handoff process is executed. In this scenario, during the execution of the Fast BSS handoff process, the AP cannot generate the PTK because the R1KH cannot obtain PMK-R1 from R0KH used by the wireless network station. Therefore, the AP will notify the wireless network station to terminate the Fast BSS handoff process, and to execute the initial MD association handoff process.
FIG. 2 and FIG. 3 show the exemplary flowcharts of the initial MD association handoff process and the Fast BSS handoff process, respectively.
In FIG. 1, when wireless network station 101 turns on the wireless network function, wireless network station 101 can connect to the wireless network through AP1 of MD 110, or move from MD 120 to the coverage range of AP1, which can be known from the probe and beacon messages broadcast by AP1 to be an inter-MD movement. Wireless network station 101 executes the initial MD association handoff process in FIG. 2.
In step 201A and step 201B, wireless network station 101 and AP1 execute the open system authentication process. In step 201A, wireless network station 101 transmits an authentication request to AP1. In step 201B, AP1 replies the authentication response to wireless network station 101. After the open system authentication process finishes, AP1 allows wireless network station 101 to transmit IEEE802.11r communication protocol messages to AAA server.
Steps 202A &_202B are association request and association response, respectively. In step 202A, wireless network station 101 transmits an association request to AP1, where the field of the mobility domain information element (MDIE) of the association request message is set as “0” to indicate that wireless network station 101 supports the Fast BSS handoff process. In step 202B, AP1 uses the association response message to store the R0KH1, R1KH1 and MDID in the MDIE field, and transmits the association response message to wireless network station 101.
In step 203, wireless network station 101 executes the IEEE803.1X authentication to AAA server 103 through AP1. After the authentication step is successful, wireless network station 101 and AAA server 103 generate the MSK respectively, and AAA server 103 will transmit the MSK to R0KH1.
Steps 204A & 204B are to generate PMK-R0 and PMK-R1, respectively. In step 204A, wireless network station 101 and R0KH1 execute the key derivation function (KDF) algorithm, respectively, to use R0KH1 with MSK, and the MAC address of wireless network station 101 to generate PMK-R0. In step 204B, PMK-R1 may be generated by using PMK-R0, the MAC address of wireless network station 101, and the ID of R1KH1.
In step 205, wireless network station 101 and AP1 execute the 4-way handshake of IEEE802.11i to generate the PTK. In this step, wireless network station 101 and AP1 generate a random number “SNonce” and a random number “ANonce”, respectively, and exchange. AP1 transmits the two random numbers “SNonce” and “ANonce”, the ID of R0KH1, the MAC address of wireless network station 101 and the MAC address of AP1 to R1KH1. Then, wireless network station 101 and R1KH1 execute the KDF algorithm, respectively, and use the above parameters, the ID of R1KH1 and PMK-R1 to generate the PTK. After generating the PTK, R1KH1 transmits the PTK to AP1.
After executing the above initial MD association handoff process, wireless network station 101 is successfully connected to AP1, and R0KH1 and R1KH1 will store PMK-R0 and PMK-R1, respectively. PMK-R0 and PMK-R1 may be used to generate a new PTK. Therefore, the time-consuming IEEE802.1X authentication process may be saved to reduce the handoff process time.
When the wireless network station moves within MD1, for example, from AP1 to AP3, the wireless network station may execute the Fast BSS handoff process of FIG. 3.
Because AP1 and AP3 are both in MD1, in step 301A, wireless network station 101 notifies AP3 through the fast transition (FT) authentication request message to execute FT authentication. The authentication request message includes a random number SNonce for generating the PTK, and an MDIE field. The MDIE field includes the IDs of R0KH1, R1KH1, and MDID of MD1.
AP3 knows of the occurrence of the inter-R1KH switch from the authentication request message, and replies an authentication response message to wireless network station 101, as shown in step 301B. The authentication response message includes a random number ANonce for generating the PTK, and an MDIE field. The MDIE field at least includes the IDs of R0KH2, R1KH3, and MDID of MD 110.
After receiving the FT authentication response message from AP3, wireless network station 101 uses random numbers ANonce and MDIE, and with ID of R1KH3, the MAC address of wireless network station 101 and PMK-R0 to generate PMK-R1. The PMK-R1 will be stored in wireless network station 101 and R1KH3. Then, step 302 is to generate the PTK according to the MAC address of wireless network station 101, the MAC address of AP3, SNonce, ANonce, and the IDs of R0KH1 and R1KH3. If wireless network station 101 moves from AP1 to AP0, the old PMK-R1 may be used directly to generate the PTK because AP1 and AP0 are connected to the same R1KH.
As shown in step 303, AP3 transmits the MAC address of wireless network station 101, the MAC address of AP, SNonce, ANonce, and the ID of R0KH1 to R1KH3 for generating a new PTK.
In step 304, according to the ID of R0KH1, R1KH3 requests PMK-R1 from R0KH1. However, if wireless network station 101 moves from AP1 to AP0, this step may be omitted.
After obtaining a new PMK-R1, R1KH3 executes a KDF algorithm to generate the PTK and transmits the PTK to AP3, as shown in step 305. After step 305, wireless network station 101 and AP3 both have the same PTK.
Wireless network station 101 and AP3 then execute step 306 for resource from AP1 to AP3. In this manner, wireless network station 101 may start to use AP3 service.
In the Fast BSS handoff process, the PMK-R0 is re-used to generate the new PTK to accelerate the handoff process. Because the AP will broadcast the probe and beacon response frame with the IDs of R0KH and R1KH used by the AP and the ID of MD embedded in the frame, the appropriate handoff process may be selected after the wireless network station selects the AP, and whether the movement is an Inter-MD movement or an intra-MD movement is determined. Especially, the MAC address may be used to identify R0KH and R1KH, and MDID is managed by the vendors.